package com.tanjun.userservice.web.service.role;


import com.mybatisflex.core.service.IService;
import com.tanjun.userservice.web.service.input.AdminUserRoleInput;
import com.tanjun.userservice.web.service.role.entity.BaseAdminUserRoleEntity;
import jakarta.validation.constraints.NotEmpty;

import java.util.List;

/**
* @author tanjun
* @description 针对表【base_admin_user_role(用户角色表)】的数据库操作Service
* @createDate 2024-12-03 21:44:43
*/
public interface BaseAdminUserRoleService extends IService<BaseAdminUserRoleEntity> {
    /**
     * 保存管理员用户角色
     * @param paramVo 用户角色信息
     */
    void saveUserRoles(AdminUserRoleInput paramVo);

    /**
     * 根据用户id 返回用户的权限
     * @param userId 用户id
     * @return 返回用户角色
     */
    List<Long> getUserRoleIds(Long userId);

    /**
     * 删除用户角色信息
     * @param userId 用户id
     */
    void delUserRole(Long userId);

    /**
     * 判断角色是否有用户
     * @param roleId 角色id
     * @return 如果存在return true ,否则return false
     */
    boolean hasUser(Long roleId);

    /**
     * 删除用户角色
     * @param userId 用户id
     * @param roleIdList 角色ids
     */
    void delUserRole(Long userId,@NotEmpty List<Long> roleIdList);


}
